sampler uImage0 : register(s0);
sampler uImage1 : register(s1);
sampler uImage2 : register(s2);
sampler uImage3 : register(s3);
float3 uColor;
float3 uSecondaryColor;
float2 uScreenResolution;
float2 uScreenPosition;
float2 uTargetPosition;
float2 uDirection;
float uOpacity;
float uTime;
float uIntensity;
float uProgress;
float2 uImageSize1;
float2 uImageSize2;
float2 uImageSize3;
float2 uImageOffset;
float uSaturation;
float4 uSourceRect;
float2 uZoom;
float4 Hypothermia(float2 coords : TEXCOORD0) : COLOR0
{
    float4 color = tex2D(uImage0, coords);    
    float redIncrement = (pow(2 * coords.x - 1, 6) + pow(2 * coords.y - 1, 6)) * uOpacity * (164 / 255.0);
    float greenIncrement = (pow(2 * coords.x - 1, 6) + pow(2 * coords.y - 1, 6)) * uOpacity * (227 / 255.0);   
    float blueIncrement = (pow(2 * coords.x - 1, 6) + pow(2 * coords.y - 1, 6)) * uOpacity * (255 / 255.0);
    color.r += redIncrement;
    color.g += greenIncrement;
    color.b += blueIncrement;
    return color;
}
technique Technique1
{
    pass Hypothermia
    {
        PixelShader = compile ps_2_0 Hypothermia();
    }
}